﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SundStudent.ModelLayer;
using SundStudent.DBLayer;

namespace SundStudent.ControlLayer
{
    public class StuderendeControler
    {
        public List<Lektion> hentLektioner(DateTime dato)
        {
            DBLektion dbLektion = new DBLektion();
            return dbLektion.HentAlleLektioner(datoOmForm(dato));

        }

        public List<Modul> hentAlleModuler()
        {
            DBModul dbModulObj = new DBModul();
            return dbModulObj.GetAllModules();
        }
        public List<Tema> hentAlleTemaer(int modulnr)
        {
            DBTema dbTemaObj = new DBTema();
            return dbTemaObj.GetAllTema(modulnr);
        }
       
        
        public List<Stue> hentAlleStuer()
        {
            DBStue dbStueObj = new DBStue();
            return dbStueObj.GetAllStuer();
        }
        public List<Seng> hentAlleSenge(string stuenr)
        {
            DBSeng dbSengObj = new DBSeng();
            return dbSengObj.GetAllSenge(stuenr);
        }
        public int opretLektion(DateTime dato1, Modul modulObj, Tema temaObj, Stue stueObj,
                                Seng sengObj, Underviser undvObj, string beskrivelse, LektionsPatient patientObj,
                                string starttid, string sluttid)
        {
            int rc = 0;
           
            return rc;
        }
        private void opretLektTemp(List<Temperatur> tempList, DateTime dato1, int nr)
            {
                DBLektionsTemperatur dbTemp = new DBLektionsTemperatur();
                foreach (Temperatur tempObj in tempList)
                {
                    tempObj.Date = dato1.AddDays(tempObj.AntalDage);
                    tempObj.Patient.Nr = nr;
                    dbTemp.InsertTemperatur(tempObj);
                }
            }
        private void opretLektionsAnamnese(List<Anamnese> listAnamnese, DateTime dato1, int nr)
        {
            DBLektionsAnamnese dbLekAnam = new DBLektionsAnamnese();
            foreach (Anamnese anamObj in listAnamnese)
            {
                //forhvert objekt opdateres datoen inden oprettelse i lektionsdatabasen
                anamObj.Dato = dato1.AddDays(anamObj.AntalDage);
                anamObj.Patient.Nr = nr;
                Console.WriteLine("nydato" + anamObj.Dato);
                dbLekAnam.InsertAnamnese(anamObj);
            }


        }
        private void opretLektionsStatusAnkomst(List<StatusAnkomst> listStatusAnkomst, DateTime dato1, int nr)
        {
            DBLektionsStatusAnkomst dbAnkomst = new DBLektionsStatusAnkomst();
            foreach (StatusAnkomst statusObj in listStatusAnkomst)
            {
                statusObj.Dato = dato1.AddDays(statusObj.AntalDage);
                statusObj.Patient.Nr = nr;
                Console.WriteLine("nydato ankomst" + statusObj.Dato);
                dbAnkomst.InsertStatusAnkomst(statusObj);
            }
        }
        private void opretLektionsJournal(List<Journal> listJournal, DateTime dato1, int nr)
        {
            DBLektionsJournal dbJournal = new DBLektionsJournal();
            foreach (Journal journalObj in listJournal)
            {
                journalObj.Patient.Nr = nr;
                journalObj.Dato = dato1.AddDays(journalObj.AntalDage);
                dbJournal.InsertJournal(journalObj);
            }
        }
        private void opretUdfoertHandling(List<UdfoertHandlinger> listUdfoert, DateTime dato1, int nr)
        {
            DBLektionsUdFoertHandling dbUdfoert = new DBLektionsUdFoertHandling();
            foreach (UdfoertHandlinger udfoertObj in listUdfoert)
            {
                udfoertObj.Patient.Nr = nr;
                udfoertObj.Dato = dato1.AddDays(udfoertObj.AntalDage);
                dbUdfoert.InsertUdfoertHandling(udfoertObj);
            }

        }
        private String datoOmForm(DateTime dato)
        {

            String myDate = dato.Year.ToString();
            if (dato.Month < 10)
            {
                myDate = myDate + "0" + dato.Month;
            }
            else
            {
                myDate = myDate + dato.Month;
            }
            if (dato.Day < 10)
            {
                myDate = myDate + "0" + dato.Day;
            }
            else
            {
                myDate = myDate + dato.Day;
            }
            return myDate;
        }

    }


}
